package sskj.regulatory.di.component

import sskj.regulatory.di.module.ActivityModule
import sskj.regulatory.di.scope.PerActivity

import dagger.Subcomponent
import sskj.regulatory.presentation.screen.authentication.projectdepartment.ProjectDeptFragment
import sskj.regulatory.presentation.screen.authentication.video.VideoFragment
import sskj.regulatory.presentation.screen.forgetpas.ForgetpasFragment
import sskj.regulatory.presentation.screen.forgetpas.forgetpasCaptcha.ForgetpasCaptchaFragment
import sskj.regulatory.presentation.screen.forgetpas.forgetpasComplete.ForgetpasCompleteFragment
import sskj.regulatory.presentation.screen.forgetpasResetpas.ForgetPasResetPasFragment
import sskj.regulatory.presentation.screen.home.HomeFragment
import sskj.regulatory.presentation.screen.setup.SetupFragment
import sskj.regulatory.presentation.screen.launcher.LauncherActivity
import sskj.regulatory.presentation.screen.launcher.LauncherFragment
import sskj.regulatory.presentation.screen.main.MainActivity
import sskj.regulatory.presentation.screen.login.LoginFragment
import sskj.regulatory.presentation.screen.main.MainFragment
import sskj.regulatory.presentation.screen.pmdust.PmDustFragment
import sskj.regulatory.presentation.screen.qrlogin.QrLoginFragment
import sskj.regulatory.presentation.screen.registeCaptcha.RegisterCaptchaFragment
import sskj.regulatory.presentation.screen.registeComplete.RegisteCompleteFragment
import sskj.regulatory.presentation.screen.register.RegisterFragment
import sskj.regulatory.presentation.screen.registerMakePas.RegisteMakePasFragment
import sskj.regulatory.presentation.screen.signature.signedlist.SignedListFragment
import sskj.regulatory.presentation.screen.signature.signedlist.SignedMainFragment
import sskj.regulatory.presentation.screen.signature.signedlist.SiteVideoListFragment
import sskj.regulatory.presentation.screen.sitevideo.siteveiw.SiteViewFragment
import sskj.regulatory.presentation.screen.sitevideo.sitevmain.SiteVideoMainFragment


@PerActivity
@Subcomponent(modules = [(ActivityModule::class)])
interface ActivityComponent {

    fun inject(launcherActivity: LauncherActivity)

    fun inject(mainActivity: MainActivity)

    fun inject(registerFragment: RegisterFragment)

    fun inject(registerCaptchaFragment: RegisterCaptchaFragment)

    fun inject(registeCompleteFragment: RegisteCompleteFragment)

    fun inject(forgetpasFragment: ForgetpasFragment)

    fun inject(projectDeptFragment: ProjectDeptFragment)

    fun inject(forgetpasCaptchaFragment: ForgetpasCaptchaFragment)

    fun inject(forgetPasResetPasFragment: ForgetPasResetPasFragment)

    fun inject(forgetpasCompleteFragment: ForgetpasCompleteFragment)

    fun inject(registeMakePasFragment: RegisteMakePasFragment)

    fun inject(homeFragment: HomeFragment)

    fun inject(launcherFragment: LauncherFragment)

    fun inject(setupFragment: SetupFragment)

    fun inject(loginFragment: LoginFragment)

    fun inject(pmDustFragment: PmDustFragment)

    fun inject(signedListFragment: SignedListFragment)

    fun inject(mainFragment: MainFragment)

    fun inject(qrLoginFragment: QrLoginFragment)

    fun inject(signedMainFragment: SignedMainFragment)

    fun inject(siteVideoMainFragment: SiteVideoMainFragment)

    fun inject(siteVideoListFragment: SiteVideoListFragment)

    fun inject(siteViewFragment: SiteViewFragment)

    fun inject(videoFragment: VideoFragment)

}